# 根目录的Makefile

# 定义编译器和编译选项
CXX := g++
CXXFLAGS := -std=c++11 -Wall -w


# 定义第三方库的头文件和库文件路径

THIRD_PARTY_INCLUDE2 := -I /usr/include/mysql
THIRD_PARTY_LIB2 := -L /usr/lib/mysql -lmysqlclient


# 列出所有的源文件
SRCS_MAIN := main.cpp Server.cpp SocketHelper.cpp
SRCS_DOMAIN := domain/Firend.cpp

# 根据源文件生成目标文件的名字（替换.cpp为.o）
OBJS_MAIN := $(SRCS_MAIN:.cpp=.o)
OBJS_DOMAIN := $(SRCS_DOMAIN:.cpp=.o)

# 目标可执行文件名
TARGET := prog

# 编译规则
all: $(TARGET)

$(TARGET): $(OBJS_MAIN) $(OBJS_DOMAIN)  #链接  
	$(CXX) $(CXXFLAGS) -o $@ $^  $(THIRD_PARTY_LIB2) -pthread

%.o: %.cpp  #编译
	$(CXX) $(CXXFLAGS)  $(THIRD_PARTY_INCLUDE2) -o $@ -g -c $<

# 清理生成的文件
clean:
	rm -f $(OBJS_MAIN) $(OBJS_DOMAIN) $(TARGET)

